home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Movie2.cpp < prev    next >
C/C++ Source or Header  |  1999-02-04  |  3KB  |  94 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Movie2.h"
  6. //---------------------------------------------------------------------------
  7. static inline TMovie *ValidCtrCheck()
  8. {
  9.     return new TMovie(NULL);
  10. }
  11. //---------------------------------------------------------------------------
  12. __fastcall TMovie::TMovie(TComponent* Owner)
  13.     : TImage(Owner)
  14. {
  15.   Bremse = 5000000;
  16.   // probier aus, welcher Wert bei Dir am besten pa▀t!
  17. }
  18. //---------------------------------------------------------------------------
  19. namespace Movie2
  20. {
  21.     void __fastcall Register()
  22.     {
  23.         TComponentClass classes[1] = {__classid(TMovie)};
  24.         RegisterComponents("ZusΣtzlich", classes, 0);
  25.     }
  26. }
  27. //---------------------------------------------------------------------------
  28. void __fastcall TMovie::SetSize (TRect Rechteck)
  29. {
  30.   Left   = Rechteck.Left;
  31.   Top    = Rechteck.Top;
  32.   Width  = Rechteck.Right  - Rechteck.Left;
  33.   Height = Rechteck.Bottom - Rechteck.Top;
  34. }
  35. //---------------------------------------------------------------------------
  36. void __fastcall TMovie::ShowImage (String Datei)
  37. {
  38.   Show ();
  39.   Picture->LoadFromFile (Datei);
  40.   Bild = Datei;
  41. }
  42. //---------------------------------------------------------------------------
  43. void __fastcall TMovie::HideImage (void)
  44. {
  45.   Hide ();
  46. }
  47. //---------------------------------------------------------------------------
  48. void __fastcall TMovie::GetNr (String Datei, int x)
  49. {
  50.   Pfad = Datei.SubString(1,Datei.Length()-5);
  51.   Nr   = StrToInt(Datei.SubString(Datei.Length()-4,1));
  52.   if (Nr > x) Nr = 1;
  53. }
  54. //---------------------------------------------------------------------------
  55. void __fastcall TMovie::GetImage (String Datei)
  56. {
  57.   Picture->LoadFromFile (Datei);
  58.   for (int j=0; j<Bremse; j++) ;
  59.   Refresh ();
  60. }
  61. //---------------------------------------------------------------------------
  62. void __fastcall TMovie::MoveImage (String Datei)
  63. {
  64.   // Nummer des aktuellen Bildes ermitteln
  65.   GetNr (Datei, 4);
  66.  
  67.   // Nacheinander Bild und Gegenstⁿck laden und zeigen
  68.   Show ();
  69.   for (int i=0; i<5; i++)
  70.   {
  71.     GetImage (Datei);
  72.     GetImage (Pfad + IntToStr(Nr+4) + ".bmp");
  73.   }
  74.  
  75.   // ggf. Anfangsbild wieder zeigen
  76.   if (Bild != "") GetImage (Bild);
  77. }
  78. //---------------------------------------------------------------------------
  79. void __fastcall TMovie::TurnImage (String Datei)
  80. {
  81.   // Nummer des aktuellen Bildes ermitteln
  82.   GetNr (Datei, 5);
  83.  
  84.   // Aufeinanderfolge Bilder laden und zeigen
  85.   Show ();
  86.   for (int i=Nr; i<Nr+4; i++)
  87.     GetImage (Pfad + IntToStr(i) + ".bmp");
  88.  
  89.   // ggf. Anfangsbild wieder zeigen
  90.   if (Bild != "") GetImage (Bild);
  91. }
  92. //---------------------------------------------------------------------------
  93.  
  94.